package com.jichangxiu.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jichangxiu.framework.service.BaseService;
import com.jichangxiu.framework.service.InfoRuleService;
import com.jichangxiu.system.entity.dto.edit.EditSysInfo;
import com.jichangxiu.system.entity.dto.query.QuerySysInfo;
import com.jichangxiu.system.entity.po.SysInfo;
import com.jichangxiu.system.entity.vo.SysInfoVo;

import javax.validation.constraints.NotBlank;

/**
 * SysInfoService:
 *
 * @author JiChangXiu
 * @create 2024-06-28 13:44:24
 */
public interface SysInfoService extends BaseService<SysInfo, SysInfoVo>, InfoRuleService {

    /**
     * 修改系统登录信息
     *
     * @param editSysInfo 修改系统登录信息视图对象
     * @return 是否成功
     */
    public Boolean edit(EditSysInfo editSysInfo);

    /**
     * 根据主键查询系统登录信息
     *
     * @param id       系统登录信息主键
     * @param isExtend 是否扩展
     * @return 系统登录信息详情
     */
    public SysInfoVo info(@NotBlank(message = "主键不能为空") String id, Boolean isExtend);

    /**
     * （可分页）查询系统登录信息列表
     *
     * @param querySysInfo 查询视图对象
     * @return （分页）系统登录信息列表
     */
    public Page<SysInfoVo> lists(QuerySysInfo querySysInfo);

}